更新时间:2023-11-28 01:36
QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)语言的一个变种,由美国微软公司开发,1991年随MS-DOS 5.0推出。它不能被编译成独立的可执行文件,源代码在集成开发环境(IDE)中先被编译成中间代码,然后中间代码在IDE中被解释执行。它被设计用来代替GW-BASIC,并被集成在MS-DOS 5.0及其更高版本(包括Windows 95)中。QBASIC基于微软稍早推QuickBASIC 4.5,但去掉了后者的编译和链接部分。
子程序和函数作为单独的模块
不需要行号
注:Quick BASIC简称QB,是一种编译型的语言;qbasic是一种解释型的语言,和Quick BASIC拥有一样的语法。同时,为了省时间,QBASIC中的PRINT 语句可以直接用?来代替。
条件语句
行if语句: IF 条件 THEN 语句组 ELSE 语句组2
块if语句
IF 条件 THEN
语句组
ELSE
语句组2
END IF
IF 语句还可如此运用
IF 条件 THEN
语句组
ELSEIF 条件 THEN
语句组2
END IF
多分支语句SELECT用法:
SELECT CASE 变量或字符串
CASE 情况1
语句组
CASE 情况2
语句组2
END SELECT
循环结构语句
1.计数循环
for 控制变量=初值 to 终值 step语句可有可无,若没有step语句,则步长为+1
语句体
next 控制变量
2.当型循环
其格式有两种:
(1)
WHILE 条件
WEND
(2)
DO WHILE 条件
循环体
LOOP
3.直到型循环
DO
循环体
LOOP UNTIL 条件
基本语句
CLS:即Clean the screen,清屏幕
输入语句:input“显示的内容”,变量名表
或者“,”改为“;”,改完之后输入时会多出一个“?”
输出语句:print “显示的内容”,变量名表1,“显示的内容”,变量名表2……
把,改为;时,两个内容间空1格,否则空14格左右,最后不加分号为换行。
一维数组的定义:dim 变量名(下标)
二维数组的定义:dim 变量名(下标1,下标2)
代码示例(赋值,求和运算,并显示结果)
A=10
B=20
C=A+B
Print C
END
变量
变量长度小于等于40,不允许出现关键词,如Let
数:如15%、-32768、215654#、2.0158e+15、8.545646d+20、-18.75等,变量名为例如a的变量名
字符串:如“15%”、“abc”等,变量名为例如a$的变量名
补充:在QB中还可以几何画图,具体用法如下(详见QB内部帮助)
SCREEN 12'639*479 16色图形模式
CIRCLE(100,150),10,4'在x坐标100与y坐标150处画一个半径为10的颜色为4(红色)的圆。
SYSTEM
简单的双重循环在冒泡排序程序的运用
CLS
DIM n AS INTEGER
INPUT n
DIM a(n)
FOR i = 1 TO n
INPUT a(i)
NEXT i
FOR i = 1 TO n
FOR j=1 TO i-1
IF a(j) > a(j+1) THEN SWAP a(j), a(j+1)
NEXT j
NEXT i
FOR i = 1 TO n
PRINT a(i)
NEXT i
END
几种常见的运算语句及函数
加运算:
AB之和=A+B
差运算:
AB之差=A-B
乘运算:
AB之积=A*B
除运算
AB商=A/B
乘方运算
A的B次方=A^B
开方运算
A开方=SQR(A)
交换变量
SWAP 值A,值B
初学者的练习题
1、输入20个数,求出它们的最大值、最小值和平均值。
2、在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数;
3、如果一个数从左边读和右边读都是同一个数,就称为回文数,例如686就是一个回文数?喑糖?000以内所有的回文数。
4、已知数列1、5、12、22、35、...?求出第20个数
6、输入10个正整数,计算它们的和,平方和;
7、输入20个整数,统计其中正、负和零的个数;
8、输出1——999中能被3整除,且至少有一位数字是5的数;
9、有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,得到一个新的六位数,假如新数为旧数的4倍,求原来的六位数。
10、有这样的一个六位数字labcde,将其乘以3后变成abcdel,编程求这个数。
11、试找出6个小于160而成等差数列的素数。
1-1/3+1/5-1/7+……直到某一项的绝对值小于10的-6次方
附加:
我们用一个正整数列来表示一段地方的高度,当一段地方的高度为一个逐一上升的序列时,
我们称它为一个阶梯,例如 4、5、6、7、8 是一个长度为 5 的阶梯。给定一个正整数列,
请找出它第一个最长的阶梯,并将其输出。如果一个阶梯也没有,输出“No”。
运行结果示例:
请输入数列的长度:8
请输入数列:2 3 2 3 4 4 5 6
结果为 2 3 4
Ctrl+C+Break:中断正在运行的程序;
F5:运行程序;
Shift+F5:从第一条语句开始重新运行程序;
F4:当程序中断运行时,查看运行结果屏幕,再按一次F4则切换回代码屏幕;
F1:获得帮助。
F8:单步运行
F9:断点(同QB stop 语句,按F5继续运行)
【1】菜场上一公斤香菇是7.5元,编一个程序,从键盘上输入重量,计算机自动算出其总价
INPUT X
zj=7.5*X
PRINT zj
END
【2】高精度乘法程序
CLS
INPUT a$
INPUT b$
la = LEN(a$)
lb = LEN(b$)
lc = la + lb
DIM a(la), b(lb), c(lc)
FOR i = 1 TO la
a(i) = VAL(MID$(a$, la + 1 - i, 1))
NEXT i
FOR i = 1 TO lb
b(i) = VAL(MID$(b$, lb + 1 - i, 1))
NEXT i
FOR i = 1 TO la
FOR j = 1 TO lb
x = a(i) * b(j): w = i + j - 1
c(w) = c(w) + x MOD 10
c(w) = c(w) MOD 10
NEXT j
NEXT i
DO WHILE c(lc) = 0
lc = lc - 1
LOOP
FOR i = lc TO 1 STEP -1
NEXT i
END